In [1]:
from sympy import *
init_printing() #muestra símbolos más agradab
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import numpy as np
R=lambda n,d: Rational(n,d)
In [2]:
def testprimo(n):
z=True
i=3
if n % 2==0 and n>2:
i=sqrt(n)+1
z=False
while i<=sqrt(n) and z==True:
r=n % i
if r==0:
z=False
else:
i=i+2
return(z)
testprimo(6)
Out[2]:
In [46]:
testprimo(127)
Out[46]:
In [30]:
def conjGoldbach(n):
salida=0
a=0
b=0
if n<4 or (n % 2)==1:
salida=1
a="El número es menor que 4 o el número no es par"
b=0
else:
j=2
while salida==0 and j<=n/(2.0):
if testprimo(j)==True and testprimo(n-j)==True:
a=j
b=n-j
salida=1
j=j+1
return([a,b])
conjGoldbach(137)
Out[30]:
In [40]:
conjGoldbach(22)
Out[40]: